1
Mecánica de la llamada al método
AI035Lesson 13
00:00

En Ruby, una llamada a un método no es un salto estático a una dirección de memoria; es un evento dinámico de paso de mensajes. Cuando invocas un método, estás enviando un mensaje a un receptor. Este mensaje consiste en el nombre del método, argumentos opcionales y una posible asociación de bloque.

1. Sintaxis de llamada y ambigüedad

Ruby permite gran flexibilidad: Foo.Bar y Foo.Bar() son idénticos. Sin embargo, Foo::Bar normalmente se refiere a una constante, mientras que Foo::Bar() obliga a una llamada al método. Los paréntesis a menudo se omiten para crear experiencias similares a DSL donde los métodos parecen propiedades.

2. Descomposición de operadores

Los operadores son en realidad métodos redefinibles. La expresión expr1 + expr2 es azúcar sintáctico para (expr1).+(expr2). Esto se aplica a operadores unarios (-obj), binarios (a < b), y operadores sufijos.

receptorMensaje (método)Bloque lateralentregar el control

3. El mecanismo yield

Los métodos usan yield para empujar el flujo de control hacia el bloque asociado. Usando Kernel.block_given?, un método puede decidir dinámicamente cómo manejar la lógica según el contexto del llamador.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>